package kr.ac.kongju.gedl.board.service;

import java.util.List;


import kr.ac.kongju.gedl.board.vo.BulletinBoardVO;
import kr.ac.kongju.gedl.board.vo.ContentsVO;
import kr.ac.kongju.gedl.common.util.ListResultVO;



public interface BoardContentsService {

	/**
	 * registerBoardContents
	 * BoardContents 등록
	 * @param errorReport
	 * @return BoardContentsVO
	 */
	public abstract ContentsVO registerBoardContents(ContentsVO errorReport);

	/**
	 * retrieveBoardContents
	 * BoardContents 조회
	 * @param errorReport
	 * @return BoardContentsVO
	 */
	public abstract List<ContentsVO> retrieveBoardContents(ContentsVO errorReport);

	/**
	 * updateBoardContents
	 * BoardContents 갱신
	 * @param errorReport
	 * @return BoardContentsVO
	 */
	public abstract ContentsVO updateBoardContents(ContentsVO errorReport);

	

	/**
	 * updateBoardContentsVisit
	 * BoardContents 조회수 갱신
	 * @param errorReportId
	 * @return result
	 */
	public abstract int updateBoardContentsVisit(int errorReportId);

	/**
	 * deleteBoardContents
	 * BoardContents 삭제
	 * @param errorReportId
	 * @return result
	 */
	public abstract int deleteBoardContents(ContentsVO contentsVO);

	/**
	 * ====================================================================
	 * retrieveListCountBoardContents
	 * BoardContents 검색결과 수
	 * @param SearchVO
	 * @return
	 * ====================================================================
	 */
	public abstract int retrieveListCountBoardContents(ContentsVO searchCondition);

	/**
	 * ====================================================================
	 * retrieveListBoardContents
	 * BoardContents 검색
	 * @param ContentsVO
	 * @return
	 * ====================================================================
	 */
	public abstract ListResultVO<ContentsVO> retrieveListBoardContents(
			ContentsVO searchCondition);
	
	
	public abstract int getContentsGroupId();
	
	
	public abstract int getContentsSeq(int contentsGroupId);

	BulletinBoardVO retrieveBulletinBoard(int boardId);
	
	/**
	 * 조회수 증가
	 * @param searchCondition
	 */
	void updateViewCnt(ContentsVO searchCondition);
}
